import React from 'react';
import {createNativeStackNavigator} from '@react-navigation/native-stack';
import TabsNavigation from './NavigateButtomBar';
import LoginScreen from '../screen/LoginScreen';
import WithdrawalScreen from '../screen/WithdrawalScreen';
import WithdrawalHistoryScreen from '../screen/WithdrawalHistoryScreen';
import BindAliPayScreen from '../screen/BindAliPayScreen';
import CustomerServiceScreen from '../screen/CustomerServiceScreen';
import SettingScreen from '../screen/SettingScreen';
import EpisodeScreen from '../screen/EpisodesScreen';

type RootStackParamsList = {
  Tab: undefined;
  Login: undefined;
  Withdrawal:undefined;
  WithdrawalHistory:undefined;
  BindAliPayScreen:undefined;
  CustomerServiceScreen:undefined,
  Setting:undefined;
  EpisodeScreen:undefined
};

const Stack = createNativeStackNavigator<RootStackParamsList>();

const NavigateStack = function (): JSX.Element {
  return (
    <Stack.Navigator
      initialRouteName={'Tab'}
      screenOptions={() => {
        return {
          header: () => <></>,
        };
      }}>
      <Stack.Screen name={'Tab'} component={TabsNavigation} />
      <Stack.Screen name={'Login'} component={LoginScreen} />
      <Stack.Screen name={'Withdrawal'} component={WithdrawalScreen}/>
      <Stack.Screen name={'WithdrawalHistory'} component={WithdrawalHistoryScreen}/>
      <Stack.Screen name={'BindAliPayScreen'}  component={BindAliPayScreen}/>
      <Stack.Screen name={'CustomerServiceScreen'} component={CustomerServiceScreen}/>
      <Stack.Screen name={'Setting'} component={SettingScreen}/>
      <Stack.Screen name={'EpisodeScreen'} component={EpisodeScreen}/>
    </Stack.Navigator>
  );
};

export default NavigateStack;
